home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Windows.a < prev    next >
Text File  |  1996-05-01  |  21KB  |  814 lines

  1. ;
  2. ;    File:        Windows.a
  3. ;
  4. ;    Contains:    Window Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  19. __WINDOWS__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__MEMORY__') = 'UNDEFINED' THEN
  25.     include 'Memory.a'
  26.     ENDIF
  27.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  28.     include 'Quickdraw.a'
  29.     ENDIF
  30.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  31.     include 'Events.a'
  32.     ENDIF
  33.     IF &TYPE('__CONTROLS__') = 'UNDEFINED' THEN
  34.     include 'Controls.a'
  35.     ENDIF
  36.     IF &TYPE('__HIWINDOWTYPES__') = 'UNDEFINED' THEN
  37.     include 'HIWindowTypes.a'
  38.     ENDIF
  39.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  40. ;
  41. ;_________________________________________________________________________________________________________
  42. ;    
  43. ; * WINDOW DEFINITION TYPE
  44. ;_________________________________________________________________________________________________________
  45. ;
  46.  
  47. kWindowDefProcType                EQU        'WDEF'
  48. ;
  49. ;_________________________________________________________________________________________________________
  50. ;    
  51. ; * WINDOW DEFINITION ID'S
  52. ;_________________________________________________________________________________________________________
  53. ;
  54.  
  55. kStandardWindowDefinition        EQU        0                    ; for document windows and dialogs
  56. kRoundWindowDefinition            EQU        1                    ; old da-style window
  57. kFloatingWindowDefinition        EQU        124                    ; for floating windows
  58. ;
  59. ;_________________________________________________________________________________________________________
  60. ;    
  61. ; * VARIANT CODES
  62. ;_________________________________________________________________________________________________________
  63. ;
  64.  
  65.                                                             ; for use with kStandardWindowDefinition 
  66. kDocumentWindowVariantCode        EQU        0
  67. kModalDialogVariantCode            EQU        1
  68. kPlainDialogVariantCode            EQU        2
  69. kShadowDialogVariantCode        EQU        3
  70. kMovableModalDialogVariantCode    EQU        5
  71. kAlertVariantCode                EQU        7
  72. kMovableAlertVariantCode        EQU        9                    ; for use with kFloatingWindowDefinition 
  73. kSideFloaterVariantCode            EQU        8
  74. ;
  75. ;_________________________________________________________________________________________________________
  76. ;    
  77. ; * PROC-ID'S
  78. ;_________________________________________________________________________________________________________
  79. ;
  80.  
  81. documentProc                    EQU        0
  82. dBoxProc                        EQU        1
  83. plainDBox                        EQU        2
  84. altDBoxProc                        EQU        3
  85. noGrowDocProc                    EQU        4
  86. movableDBoxProc                    EQU        5
  87. zoomDocProc                        EQU        8
  88. zoomNoGrow                        EQU        12
  89. rDocProc                        EQU        16                    ; floating window defproc ids 
  90. floatProc                        EQU        1985
  91. floatGrowProc                    EQU        1987
  92. floatZoomProc                    EQU        1989
  93. floatZoomGrowProc                EQU        1991
  94. floatSideProc                    EQU        1993
  95. floatSideGrowProc                EQU        1995
  96. floatSideZoomProc                EQU        1997
  97. floatSideZoomGrowProc            EQU        1999
  98. ;
  99. ;_________________________________________________________________________________________________________
  100. ;    
  101. ; * STANDARD WINDOW KINDS
  102. ;_________________________________________________________________________________________________________
  103. ;
  104.  
  105. dialogKind                        EQU        2
  106. userKind                        EQU        8
  107. kDialogWindowKind                EQU        2
  108. kApplicationWindowKind            EQU        8
  109. ;
  110. ;_________________________________________________________________________________________________________
  111. ;    
  112. ; * FIND WINDOW RESULT CODES
  113. ;_________________________________________________________________________________________________________
  114. ;
  115.  
  116. inDesk                            EQU        0
  117. inNoWindow                        EQU        0
  118. inMenuBar                        EQU        1
  119. inSysWindow                        EQU        2
  120. inContent                        EQU        3
  121. inDrag                            EQU        4
  122. inGrow                            EQU        5
  123. inGoAway                        EQU        6
  124. inZoomIn                        EQU        7
  125. inZoomOut                        EQU        8
  126.  
  127. wDraw                            EQU        0
  128. wHit                            EQU        1
  129. wCalcRgns                        EQU        2
  130. wNew                            EQU        3
  131. wDispose                        EQU        4
  132. wGrow                            EQU        5
  133. wDrawGIcon                        EQU        6
  134.  
  135. deskPatID                        EQU        16
  136. ;
  137. ;_________________________________________________________________________________________________________
  138. ;    
  139. ; * WINDOW DEFINITION HIT TEST RESULT CODES ("WINDOW PART")
  140. ;_________________________________________________________________________________________________________
  141. ;
  142.  
  143. wNoHit                            EQU        0
  144. wInContent                        EQU        1
  145. wInDrag                            EQU        2
  146. wInGrow                            EQU        3
  147. wInGoAway                        EQU        4
  148. wInZoomIn                        EQU        5
  149. wInZoomOut                        EQU        6
  150. ;
  151. ;_________________________________________________________________________________________________________
  152. ;    
  153. ; * WINDOW COLOR PART CODES
  154. ;_________________________________________________________________________________________________________
  155. ;
  156.  
  157. wContentColor                    EQU        0
  158. wFrameColor                        EQU        1
  159. wTextColor                        EQU        2
  160. wHiliteColor                    EQU        3
  161. wTitleBarColor                    EQU        4
  162. ;
  163. ;_________________________________________________________________________________________________________
  164. ; * WINDOW COLOR TABLE STRUCTURE
  165. ;_________________________________________________________________________________________________________
  166. ;
  167. WinCTab                    RECORD 0
  168. wCSeed                     ds.l    1                ; offset: $0 (0)        ;  reserved 
  169. wCReserved                 ds.w    1                ; offset: $4 (4)        ;  reserved 
  170. ctSize                     ds.w    1                ; offset: $6 (6)        ;  usually 4 for windows 
  171. ctTable                     ds.b    5 * ColorSpec.sizeof ; offset: $8 (8)
  172. sizeof                     EQU *                    ; size:   $30 (48)
  173.                         ENDR
  174. ; typedef struct WinCTab *                WCTabPtr
  175.  
  176. ; typedef WCTabPtr *                    WCTabHandle
  177.  
  178. ;
  179. ;_________________________________________________________________________________________________________
  180. ; * WINDOWRECORD
  181. ;_________________________________________________________________________________________________________
  182. ;
  183.  
  184.  
  185. ; typedef WindowRecord *                WindowPeek
  186.  
  187. WindowRecord            RECORD 0
  188. port                     ds        GrafPort        ; offset: $0 (0)
  189. windowKind                 ds.w    1                ; offset: $6C (108)
  190. visible                     ds.b    1                ; offset: $6E (110)
  191. hilited                     ds.b    1                ; offset: $6F (111)
  192. goAwayFlag                 ds.b    1                ; offset: $70 (112)
  193. spareFlag                 ds.b    1                ; offset: $71 (113)
  194. strucRgn                 ds.l    1                ; offset: $72 (114)
  195. contRgn                     ds.l    1                ; offset: $76 (118)
  196. updateRgn                 ds.l    1                ; offset: $7A (122)
  197. windowDefProc             ds.l    1                ; offset: $7E (126)
  198. dataHandle                 ds.l    1                ; offset: $82 (130)
  199. titleHandle                 ds.l    1                ; offset: $86 (134)
  200. titleWidth                 ds.w    1                ; offset: $8A (138)
  201. controlList                 ds.l    1                ; offset: $8C (140)
  202. nextWindow                 ds.l    1                ; offset: $90 (144)
  203. windowPic                 ds.l    1                ; offset: $94 (148)
  204. refCon                     ds.l    1                ; offset: $98 (152)
  205. sizeof                     EQU *                    ; size:   $9C (156)
  206.                         ENDR
  207. ;
  208. ;_________________________________________________________________________________________________________
  209. ; * CWINDOWRECORD
  210. ;_________________________________________________________________________________________________________
  211. ;
  212.  
  213.  
  214. ; typedef CWindowRecord *                CWindowPeek
  215.  
  216. CWindowRecord            RECORD 0
  217. port                     ds        CGrafPort        ; offset: $0 (0)
  218. windowKind                 ds.w    1                ; offset: $6C (108)
  219. visible                     ds.b    1                ; offset: $6E (110)
  220. hilited                     ds.b    1                ; offset: $6F (111)
  221. goAwayFlag                 ds.b    1                ; offset: $70 (112)
  222. spareFlag                 ds.b    1                ; offset: $71 (113)
  223. strucRgn                 ds.l    1                ; offset: $72 (114)
  224. contRgn                     ds.l    1                ; offset: $76 (118)
  225. updateRgn                 ds.l    1                ; offset: $7A (122)
  226. windowDefProc             ds.l    1                ; offset: $7E (126)
  227. dataHandle                 ds.l    1                ; offset: $82 (130)
  228. titleHandle                 ds.l    1                ; offset: $86 (134)
  229. titleWidth                 ds.w    1                ; offset: $8A (138)
  230. controlList                 ds.l    1                ; offset: $8C (140)
  231. nextWindow                 ds.l    1                ; offset: $90 (144)
  232. windowPic                 ds.l    1                ; offset: $94 (148)
  233. refCon                     ds.l    1                ; offset: $98 (152)
  234. sizeof                     EQU *                    ; size:   $9C (156)
  235.                         ENDR
  236. ;
  237. ;_________________________________________________________________________________________________________
  238. ; * AUXWINDHANDLE
  239. ;_________________________________________________________________________________________________________
  240. ;
  241.  
  242.  
  243. ; typedef AuxWinRec *                    AuxWinPtr
  244.  
  245. ; typedef AuxWinPtr *                    AuxWinHandle
  246.  
  247. AuxWinRec                RECORD 0
  248. awNext                     ds.l    1                ; offset: $0 (0)        ; handle to next AuxWinRec
  249. awOwner                     ds.l    1                ; offset: $4 (4)        ; ptr to window 
  250. awCTable                 ds.l    1                ; offset: $8 (8)        ; color table for this window
  251. reserved                 ds.l    1                ; offset: $C (12)
  252. awFlags                     ds.l    1                ; offset: $10 (16)        ; reserved for expansion
  253. awReserved                 ds.l    1                ; offset: $14 (20)        ; reserved for expansion
  254. awRefCon                 ds.l    1                ; offset: $18 (24)        ; user Constant
  255. sizeof                     EQU *                    ; size:   $1C (28)
  256.                         ENDR
  257. ;
  258. ;_________________________________________________________________________________________________________
  259. ; * WSTATEHANDLE
  260. ;_________________________________________________________________________________________________________
  261. ;
  262. WStateData                RECORD 0
  263. userState                 ds        Rect            ; offset: $0 (0)        ; user state
  264. stdState                 ds        Rect            ; offset: $8 (8)        ; standard state
  265. sizeof                     EQU *                    ; size:   $10 (16)
  266.                         ENDR
  267. ; typedef struct WStateData *            WStateDataPtr
  268.  
  269. ; typedef WStateDataPtr *                WStateDataHandle
  270.  
  271. ;
  272. ;_________________________________________________________________________________________________________
  273. ;    
  274. ; * API
  275. ;_________________________________________________________________________________________________________
  276. ;
  277. ;
  278. ; pascal void InitWindows(void )
  279. ;
  280.     IF ¨ GENERATINGCFM THEN
  281.         _InitWindows:    OPWORD    $A912
  282.     ELSE
  283.         IMPORT_CFM_FUNCTION InitWindows
  284.     ENDIF
  285.  
  286. ;
  287. ; pascal WindowPtr NewWindow(void *wStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, short theProc, WindowPtr behind, Boolean goAwayFlag, long refCon)
  288. ;
  289.     IF ¨ GENERATINGCFM THEN
  290.         _NewWindow:    OPWORD    $A913
  291.     ELSE
  292.         IMPORT_CFM_FUNCTION NewWindow
  293.     ENDIF
  294.  
  295. ;
  296. ; pascal WindowPtr GetNewWindow(short windowID, void *wStorage, WindowPtr behind)
  297. ;
  298.     IF ¨ GENERATINGCFM THEN
  299.         _GetNewWindow:    OPWORD    $A9BD
  300.     ELSE
  301.         IMPORT_CFM_FUNCTION GetNewWindow
  302.     ENDIF
  303.  
  304. ;
  305. ; pascal WindowPtr NewCWindow(void *wStorage, const Rect *boundsRect, ConstStr255Param title, Boolean visible, short procID, WindowPtr behind, Boolean goAwayFlag, long refCon)
  306. ;
  307.     IF ¨ GENERATINGCFM THEN
  308.         _NewCWindow:    OPWORD    $AA45
  309.     ELSE
  310.         IMPORT_CFM_FUNCTION NewCWindow
  311.     ENDIF
  312.  
  313. ;
  314. ; pascal void DisposeWindow(WindowPtr theWindow)
  315. ;
  316.     IF ¨ GENERATINGCFM THEN
  317.         _DisposeWindow:    OPWORD    $A914
  318.     ELSE
  319.         IMPORT_CFM_FUNCTION DisposeWindow
  320.     ENDIF
  321.  
  322. ;
  323. ; pascal void CloseWindow(WindowPtr theWindow)
  324. ;
  325.     IF ¨ GENERATINGCFM THEN
  326.         _CloseWindow:    OPWORD    $A92D
  327.     ELSE
  328.         IMPORT_CFM_FUNCTION CloseWindow
  329.     ENDIF
  330.  
  331. ;
  332. ; pascal void InvalRect(const Rect *badRect)
  333. ;
  334.     IF ¨ GENERATINGCFM THEN
  335.         _InvalRect:    OPWORD    $A928
  336.     ELSE
  337.         IMPORT_CFM_FUNCTION InvalRect
  338.     ENDIF
  339.  
  340. ;
  341. ; pascal void InvalRgn(RgnHandle badRgn)
  342. ;
  343.     IF ¨ GENERATINGCFM THEN
  344.         _InvalRgn:    OPWORD    $A927
  345.     ELSE
  346.         IMPORT_CFM_FUNCTION InvalRgn
  347.     ENDIF
  348.  
  349. ;
  350. ; pascal void ValidRect(const Rect *goodRect)
  351. ;
  352.     IF ¨ GENERATINGCFM THEN
  353.         _ValidRect:    OPWORD    $A92A
  354.     ELSE
  355.         IMPORT_CFM_FUNCTION ValidRect
  356.     ENDIF
  357.  
  358. ;
  359. ; pascal void ValidRgn(RgnHandle goodRgn)
  360. ;
  361.     IF ¨ GENERATINGCFM THEN
  362.         _ValidRgn:    OPWORD    $A929
  363.     ELSE
  364.         IMPORT_CFM_FUNCTION ValidRgn
  365.     ENDIF
  366.  
  367. ;
  368. ; pascal Boolean CheckUpdate(EventRecord *theEvent)
  369. ;
  370.     IF ¨ GENERATINGCFM THEN
  371.         _CheckUpdate:    OPWORD    $A911
  372.     ELSE
  373.         IMPORT_CFM_FUNCTION CheckUpdate
  374.     ENDIF
  375.  
  376. ;
  377. ; pascal void ClipAbove(WindowPtr window)
  378. ;
  379.     IF ¨ GENERATINGCFM THEN
  380.         _ClipAbove:    OPWORD    $A90B
  381.     ELSE
  382.         IMPORT_CFM_FUNCTION ClipAbove
  383.     ENDIF
  384.  
  385. ;
  386. ; pascal void SaveOld(WindowPtr window)
  387. ;
  388.     IF ¨ GENERATINGCFM THEN
  389.         _SaveOld:    OPWORD    $A90E
  390.     ELSE
  391.         IMPORT_CFM_FUNCTION SaveOld
  392.     ENDIF
  393.  
  394. ;
  395. ; pascal void DrawNew(WindowPtr window, Boolean update)
  396. ;
  397.     IF ¨ GENERATINGCFM THEN
  398.         _DrawNew:    OPWORD    $A90F
  399.     ELSE
  400.         IMPORT_CFM_FUNCTION DrawNew
  401.     ENDIF
  402.  
  403. ;
  404. ; pascal void PaintOne(WindowPtr window, RgnHandle clobberedRgn)
  405. ;
  406.     IF ¨ GENERATINGCFM THEN
  407.         _PaintOne:    OPWORD    $A90C
  408.     ELSE
  409.         IMPORT_CFM_FUNCTION PaintOne
  410.     ENDIF
  411.  
  412. ;
  413. ; pascal void PaintBehind(WindowPtr startWindow, RgnHandle clobberedRgn)
  414. ;
  415.     IF ¨ GENERATINGCFM THEN
  416.         _PaintBehind:    OPWORD    $A90D
  417.     ELSE
  418.         IMPORT_CFM_FUNCTION PaintBehind
  419.     ENDIF
  420.  
  421. ;
  422. ; pascal void CalcVis(WindowPtr window)
  423. ;
  424.     IF ¨ GENERATINGCFM THEN
  425.         _CalcVis:    OPWORD    $A909
  426.     ELSE
  427.         IMPORT_CFM_FUNCTION CalcVis
  428.     ENDIF
  429.  
  430. ;
  431. ; pascal void CalcVisBehind(WindowPtr startWindow, RgnHandle clobberedRgn)
  432. ;
  433.     IF ¨ GENERATINGCFM THEN
  434.         _CalcVisBehind:    OPWORD    $A90A
  435.     ELSE
  436.         IMPORT_CFM_FUNCTION CalcVisBehind
  437.     ENDIF
  438.  
  439. ;
  440. ; pascal void SetWinColor(WindowPtr theWindow, WCTabHandle newColorTable)
  441. ;
  442.     IF ¨ GENERATINGCFM THEN
  443.         _SetWinColor:    OPWORD    $AA41
  444.     ELSE
  445.         IMPORT_CFM_FUNCTION SetWinColor
  446.     ENDIF
  447.  
  448. ;
  449. ; pascal void SetDeskCPat(PixPatHandle deskPixPat)
  450. ;
  451.     IF ¨ GENERATINGCFM THEN
  452.         _SetDeskCPat:    OPWORD    $AA47
  453.     ELSE
  454.         IMPORT_CFM_FUNCTION SetDeskCPat
  455.     ENDIF
  456.  
  457. ;
  458. ; pascal WindowPtr GetNewCWindow(short windowID, void *wStorage, WindowPtr behind)
  459. ;
  460.     IF ¨ GENERATINGCFM THEN
  461.         _GetNewCWindow:    OPWORD    $AA46
  462.     ELSE
  463.         IMPORT_CFM_FUNCTION GetNewCWindow
  464.     ENDIF
  465.  
  466. ;
  467. ; pascal void SetWTitle(WindowPtr theWindow, ConstStr255Param title)
  468. ;
  469.     IF ¨ GENERATINGCFM THEN
  470.         _SetWTitle:    OPWORD    $A91A
  471.     ELSE
  472.         IMPORT_CFM_FUNCTION SetWTitle
  473.     ENDIF
  474.  
  475. ;
  476. ; pascal void GetWTitle(WindowPtr theWindow, Str255 title)
  477. ;
  478.     IF ¨ GENERATINGCFM THEN
  479.         _GetWTitle:    OPWORD    $A919
  480.     ELSE
  481.         IMPORT_CFM_FUNCTION GetWTitle
  482.     ENDIF
  483.  
  484. ;
  485. ; pascal void GetWMgrPort(GrafPtr *wPort)
  486. ;
  487.     IF ¨ GENERATINGCFM THEN
  488.         _GetWMgrPort:    OPWORD    $A910
  489.     ELSE
  490.         IMPORT_CFM_FUNCTION GetWMgrPort
  491.     ENDIF
  492.  
  493. ;
  494. ; pascal void GetCWMgrPort(CGrafPtr *wMgrCPort)
  495. ;
  496.     IF ¨ GENERATINGCFM THEN
  497.         _GetCWMgrPort:    OPWORD    $AA48
  498.     ELSE
  499.         IMPORT_CFM_FUNCTION GetCWMgrPort
  500.     ENDIF
  501.  
  502. ;
  503. ; pascal void SetWRefCon(WindowPtr theWindow, long data)
  504. ;
  505.     IF ¨ GENERATINGCFM THEN
  506.         _SetWRefCon:    OPWORD    $A918
  507.     ELSE
  508.         IMPORT_CFM_FUNCTION SetWRefCon
  509.     ENDIF
  510.  
  511. ;
  512. ; pascal long GetWRefCon(WindowPtr theWindow)
  513. ;
  514.     IF ¨ GENERATINGCFM THEN
  515.         _GetWRefCon:    OPWORD    $A917
  516.     ELSE
  517.         IMPORT_CFM_FUNCTION GetWRefCon
  518.     ENDIF
  519.  
  520. ;
  521. ; pascal void SelectWindow(WindowPtr theWindow)
  522. ;
  523.     IF ¨ GENERATINGCFM THEN
  524.         _SelectWindow:    OPWORD    $A91F
  525.     ELSE
  526.         IMPORT_CFM_FUNCTION SelectWindow
  527.     ENDIF
  528.  
  529. ;
  530. ; pascal void HideWindow(WindowPtr theWindow)
  531. ;
  532.     IF ¨ GENERATINGCFM THEN
  533.         _HideWindow:    OPWORD    $A916
  534.     ELSE
  535.         IMPORT_CFM_FUNCTION HideWindow
  536.     ENDIF
  537.  
  538. ;
  539. ; pascal void ShowWindow(WindowPtr theWindow)
  540. ;
  541.     IF ¨ GENERATINGCFM THEN
  542.         _ShowWindow:    OPWORD    $A915
  543.     ELSE
  544.         IMPORT_CFM_FUNCTION ShowWindow
  545.     ENDIF
  546.  
  547. ;
  548. ; pascal void ShowHide(WindowPtr theWindow, Boolean showFlag)
  549. ;
  550.     IF ¨ GENERATINGCFM THEN
  551.         _ShowHide:    OPWORD    $A908
  552.     ELSE
  553.         IMPORT_CFM_FUNCTION ShowHide
  554.     ENDIF
  555.  
  556. ;
  557. ; pascal void HiliteWindow(WindowPtr theWindow, Boolean fHilite)
  558. ;
  559.     IF ¨ GENERATINGCFM THEN
  560.         _HiliteWindow:    OPWORD    $A91C
  561.     ELSE
  562.         IMPORT_CFM_FUNCTION HiliteWindow
  563.     ENDIF
  564.  
  565. ;
  566. ; pascal void BringToFront(WindowPtr theWindow)
  567. ;
  568.     IF ¨ GENERATINGCFM THEN
  569.         _BringToFront:    OPWORD    $A920
  570.     ELSE
  571.         IMPORT_CFM_FUNCTION BringToFront
  572.     ENDIF
  573.  
  574. ;
  575. ; pascal void SendBehind(WindowPtr theWindow, WindowPtr behindWindow)
  576. ;
  577.     IF ¨ GENERATINGCFM THEN
  578.         _SendBehind:    OPWORD    $A921
  579.     ELSE
  580.         IMPORT_CFM_FUNCTION SendBehind
  581.     ENDIF
  582.  
  583. ;
  584. ; pascal WindowPtr FrontWindow(void )
  585. ;
  586.     IF ¨ GENERATINGCFM THEN
  587.         _FrontWindow:    OPWORD    $A924
  588.     ELSE
  589.         IMPORT_CFM_FUNCTION FrontWindow
  590.     ENDIF
  591.  
  592. ;
  593. ; pascal void DrawGrowIcon(WindowPtr theWindow)
  594. ;
  595.     IF ¨ GENERATINGCFM THEN
  596.         _DrawGrowIcon:    OPWORD    $A904
  597.     ELSE
  598.         IMPORT_CFM_FUNCTION DrawGrowIcon
  599.     ENDIF
  600.  
  601. ;
  602. ; pascal void MoveWindow(WindowPtr theWindow, short hGlobal, short vGlobal, Boolean front)
  603. ;
  604.     IF ¨ GENERATINGCFM THEN
  605.         _MoveWindow:    OPWORD    $A91B
  606.     ELSE
  607.         IMPORT_CFM_FUNCTION MoveWindow
  608.     ENDIF
  609.  
  610. ;
  611. ; pascal void SizeWindow(WindowPtr theWindow, short w, short h, Boolean fUpdate)
  612. ;
  613.     IF ¨ GENERATINGCFM THEN
  614.         _SizeWindow:    OPWORD    $A91D
  615.     ELSE
  616.         IMPORT_CFM_FUNCTION SizeWindow
  617.     ENDIF
  618.  
  619. ;
  620. ; pascal void ZoomWindow(WindowPtr theWindow, short partCode, Boolean front)
  621. ;
  622.     IF ¨ GENERATINGCFM THEN
  623.         _ZoomWindow:    OPWORD    $A83A
  624.     ELSE
  625.         IMPORT_CFM_FUNCTION ZoomWindow
  626.     ENDIF
  627.  
  628. ;
  629. ; pascal void BeginUpdate(WindowPtr theWindow)
  630. ;
  631.     IF ¨ GENERATINGCFM THEN
  632.         _BeginUpdate:    OPWORD    $A922
  633.     ELSE
  634.         IMPORT_CFM_FUNCTION BeginUpdate
  635.     ENDIF
  636.  
  637. ;
  638. ; pascal void EndUpdate(WindowPtr theWindow)
  639. ;
  640.     IF ¨ GENERATINGCFM THEN
  641.         _EndUpdate:    OPWORD    $A923
  642.     ELSE
  643.         IMPORT_CFM_FUNCTION EndUpdate
  644.     ENDIF
  645.  
  646. ;
  647. ; pascal void SetWindowPic(WindowPtr theWindow, PicHandle pic)
  648. ;
  649.     IF ¨ GENERATINGCFM THEN
  650.         _SetWindowPic:    OPWORD    $A92E
  651.     ELSE
  652.         IMPORT_CFM_FUNCTION SetWindowPic
  653.     ENDIF
  654.  
  655. ;
  656. ; pascal PicHandle GetWindowPic(WindowPtr theWindow)
  657. ;
  658.     IF ¨ GENERATINGCFM THEN
  659.         _GetWindowPic:    OPWORD    $A92F
  660.     ELSE
  661.         IMPORT_CFM_FUNCTION GetWindowPic
  662.     ENDIF
  663.  
  664. ;
  665. ; pascal long GrowWindow(WindowPtr theWindow, Point startPt, const Rect *bBox)
  666. ;
  667.     IF ¨ GENERATINGCFM THEN
  668.         _GrowWindow:    OPWORD    $A92B
  669.     ELSE
  670.         IMPORT_CFM_FUNCTION GrowWindow
  671.     ENDIF
  672.  
  673. ;
  674. ; pascal short FindWindow(Point thePoint, WindowPtr *theWindow)
  675. ;
  676.     IF ¨ GENERATINGCFM THEN
  677.         _FindWindow:    OPWORD    $A92C
  678.     ELSE
  679.         IMPORT_CFM_FUNCTION FindWindow
  680.     ENDIF
  681.  
  682. ;
  683. ; pascal long PinRect(const Rect *theRect, Point thePt)
  684. ;
  685.     IF ¨ GENERATINGCFM THEN
  686.         _PinRect:    OPWORD    $A94E
  687.     ELSE
  688.         IMPORT_CFM_FUNCTION PinRect
  689.     ENDIF
  690.  
  691. ;
  692. ; pascal long DragGrayRgn(RgnHandle theRgn, Point startPt, const Rect *limitRect, const Rect *slopRect, short axis, DragGrayRgnUPP actionProc)
  693. ;
  694.     IF ¨ GENERATINGCFM THEN
  695.         _DragGrayRgn:    OPWORD    $A905
  696.     ELSE
  697.         IMPORT_CFM_FUNCTION DragGrayRgn
  698.     ENDIF
  699.  
  700. ;
  701. ; pascal long DragTheRgn(RgnHandle theRgn, Point startPt, const Rect *limitRect, const Rect *slopRect, short axis, DragGrayRgnUPP actionProc)
  702. ;
  703.     IF ¨ GENERATINGCFM THEN
  704.         _DragTheRgn:    OPWORD    $A926
  705.     ELSE
  706.         IMPORT_CFM_FUNCTION DragTheRgn
  707.     ENDIF
  708.  
  709. ;
  710. ; pascal Boolean TrackBox(WindowPtr theWindow, Point thePt, short partCode)
  711. ;
  712.     IF ¨ GENERATINGCFM THEN
  713.         _TrackBox:    OPWORD    $A83B
  714.     ELSE
  715.         IMPORT_CFM_FUNCTION TrackBox
  716.     ENDIF
  717.  
  718. ;
  719. ; pascal Boolean TrackGoAway(WindowPtr theWindow, Point thePt)
  720. ;
  721.     IF ¨ GENERATINGCFM THEN
  722.         _TrackGoAway:    OPWORD    $A91E
  723.     ELSE
  724.         IMPORT_CFM_FUNCTION TrackGoAway
  725.     ENDIF
  726.  
  727. ;
  728. ; pascal void DragWindow(WindowPtr theWindow, Point startPt, const Rect *boundsRect)
  729. ;
  730.     IF ¨ GENERATINGCFM THEN
  731.         _DragWindow:    OPWORD    $A925
  732.     ELSE
  733.         IMPORT_CFM_FUNCTION DragWindow
  734.     ENDIF
  735.  
  736. ;
  737. ; pascal short GetWVariant(WindowPtr theWindow)
  738. ;
  739.     IF ¨ GENERATINGCFM THEN
  740.         _GetWVariant:    OPWORD    $A80A
  741.     ELSE
  742.         IMPORT_CFM_FUNCTION GetWVariant
  743.     ENDIF
  744.  
  745. ;
  746. ; pascal Boolean GetAuxWin(WindowPtr theWindow, AuxWinHandle *awHndl)
  747. ;
  748.     IF ¨ GENERATINGCFM THEN
  749.         _GetAuxWin:    OPWORD    $AA42
  750.     ELSE
  751.         IMPORT_CFM_FUNCTION GetAuxWin
  752.     ENDIF
  753.  
  754. ;
  755. ; pascal RgnHandle GetGrayRgn(void)
  756. ;
  757.     IF ¨ GENERATINGCFM THEN
  758.         Macro
  759.         _GetGrayRgn           &dest=(sp)
  760.             move.l            $09EE,&dest
  761.         EndM
  762.     ELSE
  763.         IMPORT_CFM_FUNCTION GetGrayRgn
  764.     ENDIF
  765.  
  766. ;
  767. ;_________________________________________________________________________________________________________
  768. ;    
  769. ; * PROCS
  770. ;_________________________________________________________________________________________________________
  771. ;
  772. ;
  773. ;_________________________________________________________________________________________________________
  774. ;    
  775. ; * C GLUE
  776. ;_________________________________________________________________________________________________________
  777. ;
  778. ;
  779. ;_________________________________________________________________________________________________________
  780. ;    
  781. ; * WindowRecord accessor macros
  782. ;_________________________________________________________________________________________________________
  783. ;
  784. ;
  785. ;*****************************************************************************
  786. ;*                                                                           *
  787. ;* The conditional STRICT_WINDOWS has been removed from this interface file. *
  788. ;* The accessor macros to a WindowRecord are no longer necessary.            *
  789. ;*                                                                           *
  790. ;*****************************************************************************
  791. ;
  792. ;Details:
  793. ;The original purpose of the STRICT_ conditionals and accessor macros was to
  794. ;help ease the transition to Copland.   Shared data structures are difficult
  795. ;to coordinate in a preemptive multitasking OS.  By hiding the fields in a
  796. ;WindowRecord and other data structures, we would begin the migration to 
  797. ;system data structures being completely hidden from applications. 
  798. ;
  799. ;After many design reviews, it was finally concluded that with this sort of
  800. ;migration, the system could never tell when an application was no longer 
  801. ;peeking at a WindowRecord, and thus the data structure might never become 
  802. ;system owned.  Additionally, there were many other limitations in the classic
  803. ;toolbox that were begging to be addressed.
  804. ;
  805. ;The final decision was to leave the traditional toolbox as a compatibility mode.
  806. ;The preferred toolbox API for Copland is a new SOM(tm) based architecture 
  807. ;(e.g. HIWindows.idl).  Windows, menu, controls, etc are each a SOM object 
  808. ;with methods for drawing, event handling, and customization.
  809. ;
  810. ;
  811.     ENDIF
  812.     ENDIF ; __WINDOWS__ 
  813.  
  814.